//package top.fengleifeng.question;
//
//import java.util.LinkedList;
//import java.util.Stack;
//
///**
// * @author : fengelfeing
// * @version V1.0
// * @Project: leetcode-test
// * @Package : top.fengleifeng.question
// * @Description: \
// * @Date: 2020年11月05日9:53 下午
// */
//public class Num1080根到叶路径上的不足节点 {
//
//    /**
//     * Definition for a binary tree node. public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int
//     * x) { val = x; } }
//     */
//    class Solution {
//
//        public TreeNode sufficientSubset(TreeNode root, int limit) {
//            check(root, limit, new Stack<TreeNode>(), 0);
//        }
//
//        private boolean check(TreeNode root, int limit, Stack<TreeNode> treeNodes, int count) {
//            treeNodes.add(root);
//            count = root.val + count;
//            if (root.left == null && root.right == null) {
//                if (count < limit) {
//                    treeNodes.pop();
//                    root = null;
////                    checkParent(treeNodes);
//                    return false;
//                }
//            } else {
//                boolean flagLeft = check(root.left, limit, treeNodes, count);
//                boolean flagRight = check(root.left, limit, treeNodes, count);
//
//                return flagLeft || flagRight;
//            }
//        }
//
//        private void checkParent(Stack<TreeNode> treeNodes) {
//            while (treeNodes.size() > 0) {
//                TreeNode treeNode = treeNodes.pop();
//                if (treeNode.left == null && treeNode.right == null) {
//                    treeNode = null;
//                } else {
//
//                }
//            }
//        }
//
//    }
//}
